enum dtype_cube_desc {
	TYPE(CUBE_DESC)=0x300
};
enum subtype_cube_desc {
	SUBTYPE(CUBE_DESC,DEFAULT_DESC)=0x1,
	SUBTYPE(CUBE_DESC,VALUE_DESC),
	SUBTYPE(CUBE_DESC,STRING_DESC),
	SUBTYPE(CUBE_DESC,UUID_DESC),
	SUBTYPE(CUBE_DESC,JSON_DESC)
};

enum enum_desc_type
{
   DEFAULT=0x01,
   VALUE,
   STRING,
   UUID,
   JSON
};

enum enum_component_type
{
   ENUM=0x01,
   FLAG,
   TYPE,
   SUBTYPE,
   STRUCT,
   RECORD,
   MSGSET,
   PROC,
   MODULE
};

typedef struct cube_desc_default{
	char * desc;
}__attribute__((packed)) RECORD(CUBE_DESC,DEFAULT_DESC);

typedef struct cube_desc_value{
	char * desc_set;
	int value;
	char * desc;
}__attribute__((packed)) RECORD(CUBE_DESC,VALUE_DESC);

typedef struct cube_desc_string{
	char * desc_set;
	char * string;
	char * desc;
}__attribute__((packed)) RECORD(CUBE_DESC,STRING_DESC);

typedef struct cube_desc_uuid{
	char * desc_set;
	BYTE uuid[32];
	char * desc;
}__attribute__((packed)) RECORD(CUBE_DESC,UUID_DESC);

typedef struct cube_desc_json{
	char * desc_set;
	char json[0];
	char * desc;
}__attribute__((packed)) RECORD(CUBE_DESC,JSON_DESC);

